package Bot

import (
	"fmt"
	"os"
	"GoBox/src/TRSS"
	"GoBox/src/Scripts"
	"GoBox/src/Docker"
	"GoBox/src/plugins"
	"time"
)
const (
	Red = "\033[31m Error: "
	Green = "\033[32m Success:"
	Yellow = "\033[33m Warning:"
	Reset = "\033[0m"
)


var (
	GoBoxPath string
	FFMPEG_PATH string
    YunZaiPath string
    AlemonPath string
	NodePath string
)

//接收main.go传来的参数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
func Init(goBoxPath,ffmpegPath,yunzaiPath, alemonPath,nodePath string) {
	GoBoxPath = goBoxPath
	FFMPEG_PATH = ffmpegPath
	YunZaiPath = yunzaiPath
	AlemonPath = alemonPath
	NodePath = nodePath
}
// init 初始化，赋值
func init() {
	Init(GoBoxPath, FFMPEG_PATH, YunZaiPath, AlemonPath, NodePath)
	Scripts.Init(FFMPEG_PATH,NodePath)
}


func  alemon_bot_menu() {
	var alemon_bot_menu = `
	===========柠檬崽工具箱===========
	  1.初始化/前台启动
	  2.QQ频道账号配置
	  3.修改/添加主人账号
	  4.后台启动/停止机器人
	  5.查看当前配置
	  7.查看当前日志
	  9.安装/重新安装
	  10.Python管理器
	  11.柠檬崽插件安装/卸载（欢迎提交）
	  12.常见问题修复
	  13.切换工具箱(配置默认)
	  13.关于
	  -1. 检查更新
	  0.退出
	请输入菜单编号：`
	var choice int
	for {
		clearLog()
		fmt.Printf("\033[34m")
		fmt.Print(alemon_bot_menu)
		fmt.Scanln(&choice)
		switch choice {
		case 1:
			// 1.初始化/前台启动
			fmt.Println("1.初始化/前台启动")
		case 2:
			// 2.QQ频道账号配置
			fmt.Println("2.QQ频道账号配置")
		case 0:
			// 0.退出
			os.Exit(0)
		default:
			fmt.Println("输入错误，请重新输入")
		}

	}
}
func TRSS_YunZai_menu() {
	var TRSS_YunZai_menu  = `
	============TRSS工具箱============
	  1.初始化/前台启动
	  2.QQ频道账号配置
	  3.修改/添加主人账号
	  4.后台启动/停止机器人
	  5.查看当前配置
	  6.查看当前日志
	  7.安装/重新安装
	  8.Python管理器
	  9.云崽插件安装/卸载（欢迎提交）
	  10.常见问题修复
	  11.切换工具箱(配置默认)
	  12.关于
	  13.Docker管理器
	  -1. 检查更新
	  0.退出
	请输入菜单编号：`
	var choice int
	for {
		clearLog()
		fmt.Printf("\033[34m")
		fmt.Print(TRSS_YunZai_menu)
		fmt.Scanln(&choice)
		switch choice {
		case 1:
			// 1.初始化/前台启动
			//执行node app
			Redis_main()
			TRSS.TRSS_init(GoBoxPath,YunZaiPath, NodePath,FFMPEG_PATH)
		case 2:
			// 2.QQ频道账号配置
			fmt.Println("2.QQ频道账号配置")
			
			TRSS.TRSS_QQ_account_config(GoBoxPath,YunZaiPath)
		case 3:
			// 3.修改/添加主人账号
			TRSS.TRSS_master_modify(GoBoxPath,YunZaiPath)
		case 4:
			// 4.后台启动/停止机器人
			Redis_main()
			TRSS.TRSS_bot_start_stop(GoBoxPath,YunZaiPath, NodePath,FFMPEG_PATH)
		case 5:
			// 5.查看当前配置
			TRSS.TRSS_show_info(GoBoxPath,YunZaiPath)
		case 6:
			// 6.查看当前日志
			fmt.Println("6.查看当前日志")
			TRSS.TRSS_bot_log(GoBoxPath,YunZaiPath, NodePath,FFMPEG_PATH)
		case 7:
			// 7.安装/重新安装
			fmt.Println("7.安装/重新安装")
			Go_Box_menu()
		case 8:
			// 8.Python管理器
			fmt.Println("8.Python管理器")
			Scripts.RUN_main(GoBoxPath,"python.sh","")
		case 9:
			// 9.云崽插件安装/卸载（欢迎提交）
			fmt.Println("9.云崽插件安装/卸载（欢迎提交）")
			plugins.Yunzai_plugin(GoBoxPath,YunZaiPath,"填ID","填秘钥")
			
		case 10:
			// 10.常见问题修复
			fmt.Println("10.常见问题修复")
			Scripts.RUN_main(GoBoxPath,"repair.sh",YunZaiPath)
		case 11:
			// 11.切换工具箱(配置默认)
			//黄色警告字体
			fmt.Println("\033[33m Warning：目前只适配TRSS云崽,请等待后续版本更新...\033[0m")
			time.Sleep(3 * time.Second)
		case 12:
			// 12.关于
			About()
		case -1:
			// -1. 检查更新
			//返回值空代表更新成功
			UpdateGoBox()
		case 13:
			Docker.Docker_main()
		case 0:
			// 0.退出
			os.Exit(0)
		default:
			fmt.Println("输入错误，请重新输入")
		}
	}
	

}

